package org.example.crazy.z_strategy_model.context;

import org.example.crazy.z_strategy_model.IStrategy;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;
import java.util.Map;

/**
 * 根据传入的策略，执行不同的逻辑。使用时需要注入 StrategyContext，不然 map 就会为null
 * @Author yzz
 * @CreateTime 2025/04/22
 * @描述: StrategyContext 策略模式上下文，客户端直接与此类交互
 */
@Component
public class StrategyContext {

    @Resource
    private Map<String, IStrategy> map;

    public void exeBiz(String strategyName) {

        map.get(strategyName).doBiz();
    }
}
